// $Id: physicsinfo.h 470 2008-05-27 16:27:22Z agjermun $
// definition of physics info class
//
// ml278
// Copyright (C) 2008 Bjørn Øivind Bjørnsen, Aleksander Gjermundsen, Knut Andre Tidemann, Thomas Hansen
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

#ifndef __PHYSICSINFO_H
#define __PHYSICSINFO_H

#include <btBulletCollisionCommon.h>
#include <btBulletDynamicsCommon.h>
#include <vector>

using namespace std;

/**
 * Class which holds information about objects in the physics world.
 * Handles addition and removal from the physics world as well as deletion.
 * Can handle one or several rigid bodies (collada usually gives several as a compound shape) through a vector
*/
class PhysicsInfo
{
private:
	vector<btRigidBody*> object;
	btDynamicsWorld* world;
public:
	PhysicsInfo(vector<btRigidBody*> &object);
	~PhysicsInfo();

	void addToWorld(btDynamicsWorld *world);
	void removeFromWorld();
};

#endif // #ifndef __PHYSICSINFO_H

